#ifndef ARESMOTECDRIVE_H
#define ARESMOTECDRIVE_H

#include "forkliftdrive.h"

class AresMotecDrive : public ForkliftDrive {
public:
    explicit AresMotecDrive( QObject* parent = nullptr );
    bool CanRecviveData() override;                                                                    //处理can接收的数据
    void RegularGetData() override;                                                                    //定期获取can数据
    void CanSetSpeedAngle( double walk_speed, double veer_rad ) override;                              //外部设定行走速度值, 转角弧度值
    void CanDataFrameSetKDSData( CanDataFrame& frame, short& speed, uchar& kdsRise, uchar& kdsFall );  //发送柯蒂斯行走升降
    void CanDataFrameSetForkRaiseSpeed( CanDataFrame& frame, uchar value );                            //上升电磁阀速度 id222 0~255
    void helm_init();

    // bool CanOpenAndStart();                             // 打开can设备
    // bool CanStopAndClose();                             // 关闭can设备
    // void CanSendData( CanDataFrame* frames, ULONG i );  //处理can发送的数据
    // void AccDecUpdate( double& acc, double& dec );
    // void GetCanRecivNaviParam( double* walkspeed, double* veerad );//外部获取实际信息
    // void push_fork_upper();  //上升
    // void push_fork_stop();   //停止
    // void push_fork_down();   //下降
    // signals:
    //     void sigSendTips( const QString& );
    //     void sigShowCanData( const QByteArray& tips, const QString& string );
    //     void sigLoseConnect( const QString& );

public slots:
    void sltForkLiftDrive_Init() override;
    //     void sltTimeOut();
};

#endif  // ARESMOTECDRIVE_H
